package engine

//ParserResult 返回Item 和 多个request(url,parser)
type ParserResult struct {
	Item    []interface{}
	Request []CrawlerRequest
}

// CrawlerRequest 一次请求
type CrawlerRequest struct {
	ReqData  ReqData      //传参 包括 header等
	HttpFunc ReqMethod    //具体是我们写的哪个方法
	Parser   ParserMethod //返回解析器
}

// ReqMethod 可以是get 方法 post方法
//type ReqMethod func(ReqData) ([]byte, error)
type ReqMethod interface {
	Request(ReqData) ([]byte, error)
}

// ParserMethod 解析器方法
type ParserMethod func([]byte, ReqData) ParserResult

func NilParserResult() ParserResult {
	return ParserResult{}
}
